package servicos;

import java.io.File;

import resposta.CabecalhoResposta;
import resposta.Resposta;
import sessao.Sessao;
import util.Servico;
import beans.Cookie;
import beans.Usuario;
import dao.ClienteDao;
import factory.DaoFactory;

public class ProcessarLogin implements Servico {
	private ClienteDao clienteDao = DaoFactory.getClienteDao();
	
	public ProcessarLogin(){
		
	}
	
	@Override
	public void executa(Resposta resposta) {
		Usuario user = new Usuario(resposta.getRequisicao().getMetodo().getParametros().getParametro("usuario"), resposta.getRequisicao().getMetodo().getParametros().getParametro("senha"));
		if(clienteDao.login(user)){
			Cookie cookie = new Cookie(user.getUsuario(), String.valueOf(System.currentTimeMillis()));
			Sessao sessao = Sessao.getSessao();
			sessao.iniciarSessao(cookie);
			String root = "trabalho3bi";
			resposta.setRoot(root);
			resposta.setRecurso("menu.html");
			File file = new File(root+"\\menu.html");
			CabecalhoResposta cabecalhoResposta = new CabecalhoResposta(file.length(), "text/html");
			
			resposta.setCabecalhoResposta(cabecalhoResposta);
			resposta.getCabecalhoResposta().addAtributo("Set-Cookie",cookie.getChave()+"="+cookie.getValor()+"; Expires="+cookie.getDataExpiracaoFormatada());
			System.err.println("Expira "+cookie.getChave()+":"+cookie.getValor()+"; expires="+cookie.getDataExpiracaoFormatada());
			resposta.despacharCabecalho();
			resposta.despacharRecurso();					
		}else{
			String root = "titanic\\";
			resposta.setRoot(root);
			resposta.setRecurso("erroLogin.html");
			File file = new File(root+"\\erroLogin.html");
			CabecalhoResposta cabecalhoResposta = new CabecalhoResposta(file.length(), "text/html");
			resposta.setCabecalhoResposta(cabecalhoResposta);
			resposta.despacharCabecalho();
			resposta.despacharRecurso();
		}		
	}
}
